package com.jinmdz.fmis.dao.model.search;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.jinmdz.fmis.common.annotation.AnColumn;
import com.jinmdz.fmis.common.annotation.AnTable;
import com.jinmdz.fmis.core.annotation.AnDict;
import com.jinmdz.fmis.core.base.BaseBean;
import com.jinmdz.fmis.core.constant.EDictCode;

import java.util.Date;

/**
 * 冷藏查询
 *
 * @author GuanKui
 * @date 2020/2/24 17:45
 */
@AnTable(value = "Sheet", title = "冷藏业务查询")
public class SearchColdStorageViewItem extends BaseBean {

    /**
     * 业务编码
     */
    @AnColumn(value = "业务编码", index = 0)
    private String businessCode;

    /**
     * 逝者姓名
     */
    @AnColumn(value = "逝者姓名", index = 1)
    private String deadName;

    /**
     * 逝者性别
     */
    @AnColumn(value = "性别", index = 2)
    @AnDict(dict = EDictCode.SEX, ref = "deadGenderCode")
    private String deadGender;

    /**
     * 逝者性别编号
     */
    @JsonIgnore
    private Integer deadGenderCode;

    /**
     * 逝者年龄
     */
    @AnColumn(value = "年龄", index = 3)
    private String deadAge;

    /**
     * 证件号码
     */
    @AnColumn(value = "证件号码", index = 4)
    private String certificateNo;

    /**
     * 冷藏柜类型编码
     */
    @JsonIgnore
    private Integer equipmentTypeCode;

    /**
     * 冷藏柜类型
     */
    @AnDict(dict = EDictCode.EQUIPMENT_TYPE, ref = "equipmentTypeCode")
    @AnColumn(value = "冷藏柜类型", index = 5)
    private String equipmentType;

    /**
     * 冷柜号
     */
    @AnColumn(value = "冷柜号", index = 6)
    private String equipmentCode;

    /**
     * 冷藏状态编码
     */
    @JsonIgnore
    private Integer processStateCode;

    /**
     * 冷藏状态
     */
    @AnColumn(value = "冷藏状态", index = 7)
    @AnDict(dict = EDictCode.REFRIGERATED_STATE, ref = "processStateCode")
    private String processState;

    /**
     * 预约入藏时间
     */
    @AnColumn(value = "入藏时间", pattern = BaseBean.yyyy_MM_dd_HH_mm, index = 8)
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date appointmentInTime;

    /**
     * 预约出藏时间
     */
    @AnColumn(value = "出藏时间", pattern = BaseBean.yyyy_MM_dd_HH_mm, index = 9)
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date appointmentOutTime;

    public String getBusinessCode() {
        return businessCode;
    }

    public SearchColdStorageViewItem setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public String getDeadName() {
        return deadName;
    }

    public SearchColdStorageViewItem setDeadName(String deadName) {
        this.deadName = deadName;
        return this;
    }

    public String getDeadGender() {
        return deadGender;
    }

    public SearchColdStorageViewItem setDeadGender(String deadGender) {
        this.deadGender = deadGender;
        return this;
    }

    public Integer getDeadGenderCode() {
        return deadGenderCode;
    }

    public SearchColdStorageViewItem setDeadGenderCode(Integer deadGenderCode) {
        this.deadGenderCode = deadGenderCode;
        return this;
    }

    public String getDeadAge() {
        return deadAge;
    }

    public SearchColdStorageViewItem setDeadAge(String deadAge) {
        this.deadAge = deadAge;
        return this;
    }

    public String getCertificateNo() {
        return certificateNo;
    }

    public SearchColdStorageViewItem setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo;
        return this;
    }

    public Integer getEquipmentTypeCode() {
        return equipmentTypeCode;
    }

    public SearchColdStorageViewItem setEquipmentTypeCode(Integer equipmentTypeCode) {
        this.equipmentTypeCode = equipmentTypeCode;
        return this;
    }

    public String getEquipmentType() {
        return equipmentType;
    }

    public SearchColdStorageViewItem setEquipmentType(String equipmentType) {
        this.equipmentType = equipmentType;
        return this;
    }

    public String getEquipmentCode() {
        return equipmentCode;
    }

    public SearchColdStorageViewItem setEquipmentCode(String equipmentCode) {
        this.equipmentCode = equipmentCode;
        return this;
    }

    public Integer getProcessStateCode() {
        return processStateCode;
    }

    public SearchColdStorageViewItem setProcessStateCode(Integer processStateCode) {
        this.processStateCode = processStateCode;
        return this;
    }

    public String getProcessState() {
        return processState;
    }

    public SearchColdStorageViewItem setProcessState(String processState) {
        this.processState = processState;
        return this;
    }

    public Date getAppointmentInTime() {
        return appointmentInTime;
    }

    public SearchColdStorageViewItem setAppointmentInTime(Date appointmentInTime) {
        this.appointmentInTime = appointmentInTime;
        return this;
    }

    public Date getAppointmentOutTime() {
        return appointmentOutTime;
    }

    public SearchColdStorageViewItem setAppointmentOutTime(Date appointmentOutTime) {
        this.appointmentOutTime = appointmentOutTime;
        return this;
    }
}
